home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
music
/
slave.lzh
/
CH_11.TXT
< prev
next >
Wrap
Text File
|
1992-05-07
|
25KB
|
401 lines
Applications
This chapter will guide you through the demo set included on your SLAVE
DRIVER distribution disk, and suggest some useful applications for this
software. From the SLAVE DRIVER edit screen, select LOAD SET from the TOOLS
menu, and load the file "\SETS\DEMO.SET". In creating this file I used
several songs that I use myself, some of which demonstrate the musical
flexibility of performing with SLAVE DRIVER, while others demonstrate some
useful MIDI scenarios which can be very handy to have around.
As mentioned earlier in this manual, different keyboards handle note off
events differently. In the demo set, I use a DX7 receiving and transmitting
on channel 1, and a Korg DSS1 receiving and transmitting on channel 2. The
DX7 transmits note on, velocity zero when a key is released, and is easier
to create maps for as note off relationships do not have to be created. The
DX7, however, does not transmit note on messages correctly. The maximum
velocity you can hit on a DX7 is somewhere between 108 and 110. In order to
play another keyboard from a DX7, I will normally scale velocity up to the
proper level by entering my MASTER velocity range as 0-108, and using 0-127
for the SLAVE events' velocity ranges, as demonstrated by the first
relationship in song 1, map 1. The DX7's local control also cannot be
turned off, so I only use this as a master if a) it's own keyboard sound is
to be included with the slave's sound, b) it's own sound is not needed (use
the SEND field to turn it's volume to 0 or set it to a "silent" patch, and
the RESET field to turn volume back up to 127), or c) either do a keyboard
scale in the DX7 patch that puts the octaves you want to play off the top
of the keyboard and scales the volume over the keyboard range down to 0, or
use the SEND field and a bulk message to edit whatever patch may be
currently called up on the DX in that fashion.
The DSS1 does transmit note off events, it's local control can be turned
off, and velocity values are transmitted normally. When I want the DSS1 to
play the DX7, I scale the velocity in the opposite direction, as
demonstrated in the second relationship in song 1, map 1.
These instruments' MIDI OUTs are merged into the ATARI MIDI IN port using a
Yamaha YMM-2 MIDI merger. This allows me to have two masters controlling
the SLAVE DRIVER program. Although you may not have the same gear that was
used in the demo, you will probably see ways to apply the demonstration to
your specific instruments. If you don't have a MIDI merger, you will only
be able to experiment with the relationships for one of the master
instruments at a time.
Check whether your instruments transmit note-off events or not. If one
does, set it to channel two and use it in place of the DSS1. If one
doesn't, use it in place of the DX7. If you do use another instrument in
place of the DX7, realize that the maps which scale up the velocity output
from channel 1 will act a little strangely - if you play the instrument
harder than a velocity of 108, the note on event will not be included in
the master range and no slaves will be generated (a velocity split will be
achieved where velocity values less than or equal to 108 will be rerouted,
velocity values above will not, and the instrument will only play itself
locally).
Song 1
As the first song's send field is executed automatically when a set is
loaded, I use song 1 as a "loader" song that loads MIDI files and
initializes my instruments for use with the set. If you move the cursor to
the SEND field and scroll down through the existing entries, you will see
load (L) commands for the various files listed in the BULK and SEQUENCE
fields.
After the load commands, we come to the event "2 C 97 127". This is the
beginning of a group of commands I have entered to initialize my DX7. Now,
before you say, "Hey, you said your DX7 was on channel 1", I'll explain. In
the section on SYNTH SCREEN in chapter 8, I mentioned that in order to use
a DX7 in SYS INFO UNAVAIL mode with the remote display module, you needed
to set the function parameter to the SYS INFO UNAVAIL screen on the DX
before putting the DX in play mode. Instead of going through that procedure
every night at the gig, I have set up the song 1 send field to perform some
"button remote" commands. First of all, I don't bother with the DX before
running the remote display module. Therefore, when the remote display
module sends a data increment command to turn the DX from SYS INFO UNAVAIL
to SYS INFO AVAIL mode, it instead increments the DX's MIDI channel. So
just in case this has happened, I send the data decrement message to
channel 2, decrementing the MIDI channel to 1. If the DX had already been
initialized and wasn't receiving on channel 2, then the message would be
ignored because my DSS1 (on channel 2) doesn't recognize data increment or
decrement commands.
Then a sysex file is sent, "P BLK 2", which transmits the file
A:\SYSEX\DX7\LOAD_FIX.SYS. This is a MIDI file containing button remote
sysex messages for the DX, pushing first the FUNCTION MODE button, then the
#1 function "Master Tuning", the #8 button "MIDI Channel", and finally the
#8 button again, changing the display to "SYS INFO UNAVAIL". Now to return
the DX into play mode, I transmit sysex file #1, SEL_CART.SYS, which
pushes the MEMORY SELECT - CARTRIDGE button. I keep this button message in
a separate file because I use it in other places in the set, so that I
never have to push the cartridge button before pushing a program number on
the DX7 (all of my DX programs that are song triggers are on the cartridge
program numbers).
Now that my DX7 is initialized and ready to receive text from the remote
display module, the load commands for the sequence files have been entered.
With lots of sequences, loading from floppy can take a minute or two.
Meanwhile my DSS1 is also loading it's samples from it's own disk drive,
which will also take about a minute. When it is finished loading, it is in
SYSTEM mode, and needs to be put into the play mode in order for me to
select different programs. Once the sequences have been loaded by SLAVE
DRIVER, the DSS1 will also be loaded, so the next event in the SEND field
will transmit a PLAYMODE command to the DSS1, in the form of another SYSEX
MIDI file.
While the DSS1 and the remote display module were loading files, my DSM1
was also loading samples from it's disk drive. My DSM1, when first turned
on, does not know that it is supposed to be receiving on channel 4 until it
is put into the play mode. Therefore, I transmit to it a PLAY MODE sysex
command both on channel 4, and on it's power-up default channel 1 (by using
"1" instead of "P" in the BLK event, the file actually sees the message
as being on channel 4).
No trigger has been entered for this song/map, since it is only intended to
be run once when the set is first loaded. Three relationships have been
entered, only for demonstration of the DX7 scaling mentioned in an earlier
paragraph. You will also notice that this song has a second map. Click on
the UP arrow in the trigger box to display the data in this map.
This map again is only being used for it's send field, and has no trigger
as it is intended to be selected only by using the ATARI keyboard. On my
off weeks, I will often load a different set of programs into my DX7 for
working on my own solo project. Once I got to a gig with my ATARI computer,
and no monitor, only to discover that I had forgotten to replace my gig
sounds into the DX. So I later set up this map, so that all I had to do if
this happened again was to press 2 on the numeric keypad. This map first
sets SYS INFO AVAIL with the data increment command (1 C 96 127), then
plays a sysex file that presses all the appropriate memory protect buttons
on the DX7, loads my DX7 sounds that were saved with the bulk librarian,
transmits them to the DX, and then turns the DX7's memory protect back on.
The map also sends the appropriate reverb patches to my DSP128+ while it's
at it. To protect you from accidentally overwriting all